#ifndef ANIMATION_H
#define ANIMATION_H

//!Represent an animation.
class CAnimation
{
private:
	//!Index of the texture where the animation's frames are.
	int m_indexTexture;

	//!Sprite index of the first frame of the animation
	int m_indexFirstSprite;

	//!Sprite index of the last frame of the animation
	int m_indexLastSprite;

	//!Display time of every frame of the animation
	int m_offsetTime;

public:
	//!Constructor
	/*!
	\param indexTexture Index of the animation's texture
	\param indexFirstSprite Sprite index of the first animation's frame.
	\param indexLastSprite Sprite index of the last animation's frame.
	\param offsetTime Display time of every frame.
	*/
	CAnimation::CAnimation(int indexTexture, int indexFirstSprite, int indexLastSprite, int offsetTime);

	//!Destructor.
	virtual ~CAnimation(void);

	//!Return the index of the texture containing the frames of the animation.
	/*!
	\return Index of the texture containing the animation.
	*/
	int getIndexTexture()const;

	//!Return the index of the first frame
	/*!
	\return The index of the first frame.
	*/
	int getIndexFirstSprite()const;

	//!Return the index of the last frame
	/*!
	\return The index of the last frame.
	*/
	int getIndexLastSprite()const;

	//!Return the display time of every frame
	/*!
	\return The display time of every frame.
	*/
	int getOffsetTime()const;
};

#endif

